This invention relates broadly to the inspection of a printed circuit board (hereinafter referred to simply as a substrate), or methods of and apparatus for inspecting a substrate whether during its production process or after it has been produced, inclusive of methods of determining conditions for setting an inspection window and creating inspection data for the purpose of inspecting the conditions of various mounted components and soldering.
Substrates with components mounted thereto are usually produced by sequentially carrying out the process of printing cream solder on a printed circuit board (or the solder printing process), the process of mounting components at positions coated with the cream solder (or the component mounting process) and the process of heating the circuit board thereafter to solder the components thereonto (or the soldering process). It is also a common practice to carry our an inspection after each of these production processes is performed in order to check whether or not any defective products have been produced.
Representative examples of apparatus for carrying out such inspections include those making use of the image processing technology whereby conditions for setting a window for inspecting target components (inclusive of their positions and sizes), binarization threshold values for extracting targets of inspection and judgment standards for determining appropriateness of extracted inspection targets are registered. In what follows, such registered data are summarily referred to as inspection data.
The conditions for setting an inspection window change, depending upon factors such as the purpose of the inspection and the target of inspection. In the case of an inspection after the component mounting process, for example, the purpose of the inspection is to discover the absence of a component or the presence of a wrong component and hence an inspection window approximately of the same size as the intended component is set at the intended position of the component. In the case of an inspection after the soldering process, inspection windows are set individually for the lands in order to inspect the shapes of the solder fillets formed thereon.
Examples of prior art method for determining the conditions for setting an inspection window include that of displaying an image of a model substrate, receiving a specification (say, by the operation of a mouse) on the displayed image and using the position and the size of the specified region as set conditions, as well as a method of using CAD data of the substrate. For determining the setting conditions of a window for inspecting a component, for example, an inspection window may be automatically pasted on the CAD data by using frame data of the component registered in the CAD data (representing an outline of the component) such that the position and the size of this window may be treated as setting conditions. Japanese Patent Publication Koho 2,570,239 discloses a combination of a component library registering standard inspection data for each component and design data on substrates such as CAD data for automatically generating data inclusive of inspection data other than the setting conditions for inspection windows.
Methods of setting conditions for an inspection window according to a user's operation for specification are troublesome because of a large amount of work that comes to be involved. Methods of using CAD data to determine setting conditions for an inspection window are also disadvantageous because the frame data on components found in the CAD data may not necessarily be representing the true size of the component and a manual correction may become necessary on a pasted window.
The method of aforementioned Japanese Patent Publication Koho 2,570,239 is to correlate mounted position of each component of the substrate in CAD data with the standard inspection data in a component library but the keys for the correlation may not match between the two. While the CAD data are created as individual data for each component number and are capable of identifying the mounted components, the component library classifies components with similar shapes and functions into a group called “variation” and data are registered in units of variations. Thus, a table becomes necessary for correlating these two sets of data in order to identify a variation corresponding to a given CAD data item and hence the process becomes complicated and cumbersome, and inspection data cannot be created efficiently.